export type BaseModel = {
  id?: string;
  creatorId?: string;
  creatorName?: string;
  created?: string;
  updatorId?: string;
  updatorName?: string;
  updated?: string;
};

export type BaseTree = BaseModel & {
  label?: string;
  code?: string;
  parentId?: string;
  ancestors?: string;
  levelNo?: number;
  isLeaf?: boolean;
  state?: boolean;
  hasChildren?: boolean;
  sort?: number;
  children?: BaseTree[] | null;
};

export type PageRequest = {
  size?: number;
  current?: number;
  asc?: string;
  desc?: string;
};

export type PageResponse<T> = {
  pages: number;
  total: number;
  size: number;
  current: number;
  records: T[];
};

export type BindInfo<T> = {
  bound: T;
  all: T;
};

export type ChartModel = {
  name: string;
  count: number;
  ext?: string;
};
